package com.metaapp.demo

import android.app.Application
import com.metaapp.demo.custom.imageloader.GlideLoader
import com.metaapp.demo.custom.imageloader.ImageLoader
import com.orhanobut.logger.AndroidLogAdapter
import com.orhanobut.logger.Logger
import com.scwang.smartrefresh.layout.SmartRefreshLayout
import com.scwang.smartrefresh.layout.footer.ClassicsFooter
import com.scwang.smartrefresh.layout.header.ClassicsHeader

/**
 * 程序主入口
 */
class MetaApplication :Application() {

    companion object {
        lateinit var context: Application
    }

    override fun onCreate() {
        super.onCreate()
        context = this
        //初始化图片加载库
        initImageLoader()
        //初始化日志
        initLogger()
        //初始化Refresh
        initRefresh()
    }

    /**
     * 初始化图片加载库
     */
    private fun initImageLoader() {
        ImageLoader.getInstance().setGlobalImageLoader(GlideLoader())
    }

    /**
     * 初始化日志
     */
    private fun initLogger() {
        Logger.addLogAdapter(object : AndroidLogAdapter() {
            override fun isLoggable(priority: Int, tag: String?): Boolean {
                return BuildConfig.DEBUG
            }
        })
    }

    private fun initRefresh() {
        SmartRefreshLayout.setDefaultRefreshHeaderCreator { context, _ ->
            ClassicsHeader(context)
        }
        //设置全局的Footer构建器
        SmartRefreshLayout.setDefaultRefreshFooterCreator { context, _ ->
            //指定为经典Footer，默认是 BallPulseFooter
            ClassicsFooter(context).setDrawableSize(15f)
        }
    }

}